Incremental Global Compilation of Prolog with the Vienna Abstract Machine

نویسندگان

  • Andreas Krall
  • Thomas Berger
چکیده

The Vienna Abstract Machine (VAM) is an abstract machine which has been designed to eliminate some weaknesses of the Warren Abstract Machine (WAM). Diierent versions of the VAM are used for diierent purposes. The VAM 2P is well suited for interpretation, the VAM 1P is aimed for native code generation. The VAM 2P has been modiied to the VAM AI , a concept suited for abstract interpretation. Analysis with the VAM AI is so fast that it is feasible to support both, global analysis and database updates with assert and retract. We present an incremental compiler based on the VAM 1P and the VAM AI. A preliminary evaluation of our compiler shows that the generated code competes with the best existing compilers whereas the compile time is comparable to that of simple bytecode translators.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Progress Report on Incremental Global Compilationof

Traditional native code generating Prolog compilers with global analysis compile programs as a whole and do not support the data base builtin-predicates assert and retract. In this paper we present a scheme to both enable global analysis and incremental compilation. This incremental compiler is based on the Vienna Abstract Machine (VAM). A version of the VAM, the VAM AI , is used as an abstract...

متن کامل

An Executable Intermediate Representation for Incremental Global Compilation of Prolog

The programming language Prolog has built-in predicates which enable the modiication of a program at runtime. This makes the global compilation of Pro-log programs a complex task. This paper presents an intermediate representation which enables fast incre-mental global compilation of Prolog. This intermediate representation is based on the Vienna Abstract Machine (VAM) with its two versions, th...

متن کامل

The Vam Ai { an Abstract Machine for Incremental Global Dataaow Analysis of Prolog

A commonly used technique for global ow analysis of Prolog programs is abstract interpretation. Until now nearly all abstract interpretation systems for Prolog are research prototypes and very slow. These systems are not suitable for the integration in Prolog compilers. So we developed the VAMAI, an abstract machine for the abstract interpretation of Prolog. The Vienna Abstract Machine (VAM) is...

متن کامل

Incremental Flow Analysis

interpretation is a technique for ow analysis widely used in the area of logic programming. Until now it has been used only for the global compilation of Prolog programs. But the programming language Prolog enables the programmer to change the program during run time using the built-in predicates assert and retract. To support the generation of eecient code for programs using these dynamic data...

متن کامل

Native Code Compilation in SICStus Prolog

SICStus Prolog is a sequential Prolog implementation built around a version of the Warren Abstract Machine (WAM). For several years, SICStus has supported WAM-to-native code compilation for Sun workstations. This old scheme is neither as portable nor as open to experiments as would be desirable. With the support of my colleagues in the SICStus group, I have developed a new scheme that is more o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995